﻿using System;
using System.Collections.Generic;

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AlipayClass;

public partial class Purchase_payonline_redirect : System.Web.UI.Page
{
    public string orderid = "0";
    public string totalcash = "0";
    public string paytype = "";
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["orderids"] != null && Session["allcash"] != null && Session["paytype"] != null)
        {
            orderid = Session["orderids"].ToString();
            totalcash = Session["allcash"].ToString();
            paytype = Session["paytype"].ToString();
        }

        //if (StringHelper.isNum(Request.QueryString["orderid"]))
        //{
        //    string orderid = Request.QueryString["orderid"];
        //    LcShop.Shell.Entities.OrderRecords model = LcShop.Shell.DAL.OrderRecords.instance.GetModel(orderid);
        //    if (model != null)
        //    {
        //        BindAlipay(orderid, model.TotalCash, "乐彩商品订单","乐彩商品订单", "");
        //    }
        //}
        
    }

    private void BindAlipay(string orderno, string orderPrice, string orderName, string orderDesc, string orderParam)
    {
        ///////////////////////以下参数是需要设置的相关配置参数，设置后不会更改的//////////////////////////  

        string partner = "2088401541824669";                                     //合作身份者ID
        string key = "mgbnu0xrfc66uwzuib7814hdwqbxz3sg";                         //安全检验码
        string seller_email = "lecaishenghuo@163.com";                             //签约支付宝账号或卖家支付宝帐户
        string input_charset = "utf-8";                                          //字符编码格式 目前支持 gbk 或 utf-8
        string notify_url = "http://www.lecai360.com/Purchase/notify_url.aspx"; //交易过程中服务器通知的页面 要用 http://格式的完整路径，不允许加?id=123这类自定义参数
        string return_url = "http://www.lecai360.com/Purchase/ReturnPay.aspx"; //付完款后跳转的页面 要用 http://格式的完整路径，不允许加?id=123这类自定义参数
        string show_url = "http://www.lecai360.com/Purchase/order_" + orderno + ".html";                     //网站商品的展示地址，不允许加?id=123这类自定义参数
        string sign_type = "MD5";
        string antiphishing = "0";                                               //防钓鱼功能开关，'0'表示该功能关闭，'1'表示该功能开启。默认为关闭
        //一旦开启，就无法关闭，根据商家自身网站情况请慎重选择是否开启。
        //申请开通方法：联系我们的客户经理或拨打商户服务电话0571-88158090，帮忙申请开通
        //若要使用防钓鱼功能，建议使用POST方式请求数据

        ////////////////////////////////////////////////////////////////////////////////////////////////////

        ///////////////////////以下参数是需要通过下单时的订单数据传入进来获得////////////////////////////////
        //必填参数
        string out_trade_no = "p" + orderno;  //请与贵网站订单系统中的唯一订单号匹配
        string subject = orderName;                                    //订单名称，显示在支付宝收银台里的“商品名称”里，显示在支付宝的交易管理的“商品名称”的列表里。
        string body = orderDesc;                                   //订单描述、订单详细、订单备注，显示在支付宝收银台里的“商品描述”里
        string total_fee = orderPrice;                                      //订单总金额，显示在支付宝收银台里的“应付总额”里

        //扩展功能参数——网银提前
        string paymethod = "bankPay";                                   //默认支付方式，四个值可选：bankPay(网银); cartoon(卡通); directPay(余额); CASH(网点支付)
        string defaultbank = "";                                     //默认网银代号，代号列表见http://club.alipay.com/read.php?tid=8681379

        //扩展功能参数——防钓鱼
        string encrypt_key = "";                                        //防钓鱼时间戳，初始值
        string exter_invoke_ip = "";                                    //客户端的IP地址，初始值
        if (antiphishing == "1")
        {
            encrypt_key = AlipayFunction.Query_timestamp(partner);
            exter_invoke_ip = Request.UserHostAddress;                                       //获取客户端的IP地址，建议：编写获取客户端IP地址的程序
        }

        //扩展功能参数——其他
        string extra_common_param = orderParam;                //自定义参数，可存放任何内容（除=、&等特殊字符外），不会显示在页面上
        string buyer_email = "";			                            //默认买家支付宝账号

        //扩展功能参数——分润(若要使用，请按照注释要求的格式赋值)
        string royalty_type = "";                                   //提成类型，该值为固定值：10，不需要修改
        string royalty_parameters = "";
        //提成信息集，与需要结合商户网站自身情况动态获取每笔交易的各分润收款账号、各分润金额、各分润说明。最多只能设置10条
        //提成信息集格式为：收款方Email_1^金额1^备注1|收款方Email_2^金额2^备注2
        //如：
        //royalty_type = "10";
        //royalty_parameters = "111@126.com^0.01^分润备注一|222@126.com^0.01^分润备注二";

        //扩展功能参数——自定义超时(若要使用，请按照注释要求的格式赋值)
        //该功能默认不开通，需联系客户经理咨询
        string it_b_pay = "";  //超时时间，不填默认是15天。八个值可选：1h(1小时),2h(2小时),3h(3小时),1d(1天),3d(3天),7d(7天),15d(15天),1c(当天)

        /////////////////////////////////////////////////////////////////////////////////////////////////////

        //构造请求函数
        AlipayService aliService = new AlipayService(partner, seller_email, return_url, notify_url, show_url, out_trade_no, subject, body, total_fee, paymethod, defaultbank, encrypt_key, exter_invoke_ip, extra_common_param, buyer_email, royalty_type, royalty_parameters, it_b_pay, key, input_charset, sign_type);

        //GET方式传递
        string url = aliService.Create_url();
        //string sHtmlText = "<a href=" + url + "><img border='0' src='/images/shoppingcart/nowpay.jpg' /></a>";

        //POST方式传递，得到加密结果字符串。想POST方式传递，请把下面那句注释去掉。
        //string sHtmlText = aliService.Build_postform();

        //打印页面
        Response.Redirect(url);
    }
}
